# 间隔时间计算器（Python实现）
# 功能：根据用户输入的起始/结束时间（小时、分钟），计算并输出时间间隔

try:
    # 1. 接收用户输入（转换为整数类型，确保输入有效）
    start_hour = int(input("请输入起始时间的小时数（0-23）："))
    start_minute = int(input("请输入起始时间的分钟数（0-59）："))
    end_hour = int(input("请输入结束时间的小时数（0-23）："))
    end_minute = int(input("请输入结束时间的分钟数（0-59）："))

    # 2. 验证时间合法性（避免无效时间，如小时>23、分钟>59）
    if not (0 <= start_hour <= 23 and 0 <= start_minute <= 59):
        raise ValueError("起始时间格式错误！小时需为0-23，分钟需为0-59")
    if not (0 <= end_hour <= 23 and 0 <= end_minute <= 59):
        raise ValueError("结束时间格式错误！小时需为0-23，分钟需为0-59")

    # 3. 计算核心逻辑：先统一转换为“总分钟数”，再求差值
    # 起始时间总分钟 = 小时×60 + 分钟
    start_total_minutes = start_hour * 60 + start_minute
    # 结束时间总分钟 = 小时×60 + 分钟
    end_total_minutes = end_hour * 60 + end_minute

    # 处理“结束时间早于起始时间”的情况（默认按“当天内间隔”计算，差值取正）
    duration_minutes = end_total_minutes - start_total_minutes
    if duration_minutes < 0:
        duration_minutes += 24 * 60  # 加上一天的分钟数（1440分钟）

    # 4. 将总分钟数转换回“小时+分钟”格式
    duration_hour = duration_minutes // 60  # 商为小时数（整数除法）
    duration_minute = duration_minutes % 60  # 余数为分钟数（取模运算）

    # 5. 输出最终结果
    print(f"\n计算结果：")
    print(f"起始时间：{start_hour:02d}:{start_minute:02d}")  # 补零显示（如9:5→09:05）
    print(f"结束时间：{end_hour:02d}:{end_minute:02d}")
    print(f"时间间隔：{duration_hour} 小时 {duration_minute} 分钟")

except ValueError as e:
    # 捕获输入错误（如输入非数字、时间范围无效）
    print(f"\n错误：{e}，请重新运行程序并输入正确的时间！")